package cn.buk.api.ctrip.dto.hotel;

import cn.buk.api.ctrip.util.xstream.MyDateConverter;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamConverter;

import java.util.Date;
import java.util.List;

/**
 * Created by william on 2015-1-23.
 */
@XStreamAlias("Rate")
public class HotelAvailResponseRate {

    //EffectiveDate="2015-01-23" ExpireDate="2015-01-23" MaxGuestApplicable="2"
    @XStreamAlias("EffectiveDate")
    @XStreamAsAttribute
    @XStreamConverter(value=MyDateConverter.class, strings={"yyyy-MM-dd"})
    private Date effectiveDate;

    @XStreamAlias("ExpireDate")
    @XStreamAsAttribute
    @XStreamConverter(value=MyDateConverter.class, strings={"yyyy-MM-dd"})
    private Date expireDate;


    @XStreamAlias("MaxGuestApplicable")
    @XStreamAsAttribute
    private int maxGuest;

    @XStreamAlias("Base")
    private HotelAvailResponseAmountBeforeTax rateBase;

    @XStreamAlias("Fees")
    private List<HotelRateFee> rateFees;

    @XStreamAlias("Features")
    private List<HotelAvailResponseRateFuture> futures;




    //setter and getter
    public HotelAvailResponseAmountBeforeTax getRateBase() {
        return rateBase;
    }

    public void setRateBase(HotelAvailResponseAmountBeforeTax rateBase) {
        this.rateBase = rateBase;
    }

    public List<HotelRateFee> getRateFees() {
        return rateFees;
    }

    public void setRateFees(List<HotelRateFee> rateFees) {
        this.rateFees = rateFees;
    }

    public List<HotelAvailResponseRateFuture> getFutures() {
        return futures;
    }

    public void setFutures(List<HotelAvailResponseRateFuture> futures) {
        this.futures = futures;
    }

    public int getMaxGuest() {
        return maxGuest;
    }

    public void setMaxGuest(int maxGuest) {
        this.maxGuest = maxGuest;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }
}
